#pragma once

class ChatUser;
class CommandProc
{
public:
    virtual bool Process(ChatUser&) = 0;
};

class UnkonwProc : public CommandProc
{
public:
    virtual bool Process(ChatUser& user);
};

class HelpProc : public CommandProc
{
public:
    virtual bool Process(ChatUser& user);
};

class NickProc : public CommandProc
{
public:
    virtual bool Process(ChatUser& user);
};

class MakeProc : public CommandProc
{
public:
    virtual bool Process(ChatUser& user);
};

class ListProc : public CommandProc
{
public:
    virtual bool Process(ChatUser& user);
};

class JoinProc : public CommandProc
{
public:
    virtual bool Process(ChatUser& user);
};

class ExitProc : public CommandProc
{
public:
    virtual bool Process(ChatUser& user);
};

class KickProc : public CommandProc
{
public:
    virtual bool Process(ChatUser& user);
};

class MsgsProc : public CommandProc
{
public:
    virtual bool Process(ChatUser& user);
};

class NameProc : public CommandProc
{
public:
    virtual bool Process(ChatUser& user);
};

class QuitProc : public CommandProc
{
public:
    virtual bool Process(ChatUser& user);
};

